package 继承.向上转型;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-18
 * Time: 10:49
 */
/*
【题目】
A 派生出子类 B ， B 派生出子类 C ，并且在 java 源代码有如下声明：

1. A a0=new A();

2. A a1=new B();

3. A a2=new C();

【作业内容】
问以下哪个说法是正确的？（）
A.只有第一行能通过编译
B.第1、2行能通过编译，但第3行编译出错
C.第1、2、3行能通过编译，但第2、3行运行时出错
D.第1行，第2行和第3行的声明都是正确的
 */

class A {
    //...
}
class B extends A {
    //...
}
class C extends B {
    //...
}
public class Test {
    public static void main(String[] args) {
        A a1 = new A();//1
        A a2 = new B();//2
        A a3 = new C();//3
    }
}
